1. Field of the Invention
The present invention relates to a motor drive control method which is controlled based on the PWM (Pulse Width Modulation) method, and more particularly to a motor drive current control method.
2. Description of the Related Art
FIG. 5 is a block diagram of a motor current drive circuit according to a conventional PWM control method. A block shown by a reference numeral 1 is a rectification circuit, which rectifies an AC electric power source of three phases, that is, R-, S- and T-, phases, to generate a DC main voltage Vlink. This main voltage Vlink is applied to a bridge circuit in an electric power conversion circuit 2. A reference character C1 represents a smoothing capacitor. A current control section 3 outputs PWM signals so that the motor current follows a current command Icmd on the basis of the current command Icmd and respective phase currents i.sub.1 to i.sub.n detected by respective phase current detecting circuits 5-1 to 5-n, whereby the switching elements of the bridge circuit 2, such as transistors G1 to Gn, can be turned on and off.
FIG. 6 is a block diagram showing one example of a current drive circuit for a DC (direct current) motor based on the conventional PWM control system. A main voltage Vlink outputted from a rectification circuit 1 is applied to an electric power conversion circuit 2. This electric power conversion circuit 2 includes of a bridge circuit of transistors and diodes. A current control section 3 calculates a PWM signal based on a current command value Icmd and an actual current i detected by a current detector 5-1, and outputs the PWM signal to each of the base terminals of transistors G1 to G4 for the on-off control of each of the transistors and the drive control of a DC motor 6-3 therethrough. The on and off states of the transistors G1 to G4 are controlled in a manner such that the transistor G1 is on while the transistor G2 is off and vice versa, applying the same to the transistors G3 and G4, and that the transistors G1 and G4 are turned on and off simultaneously, applying the same to the transistors G2 and G3. As shown in FIG. 6, outputs of the current control section 3 are represented by reference characters G1 to G4 corresponding to the bases of respective transistors G1 to G4.
FIG. 7(a) is a block diagram illustrating current loop control based on the proportional control in the current control section 3 of the DC motor current drive circuit as shown in FIG. 6.
In the current control section 3, the current command value Icmd is subtracted from the actual current i detected by the current detector 5-1 to obtain a current deviation (Icmd-i), and this current deviation is multiplied by a predetermined current loop proportional gain K (set in an element 31) to obtain a voltage command Vcmd. Then, the resulting value is multiplied by a reciprocal of a doubled value of a predetermined main voltage equivalent value Vlink1 (in an element 32). To this result, 1/2 is added to obtain a duty ratio .eta. of the PWM signal. That is, EQU .eta.=Vcmd.multidot.(1/2.multidot.Vlink1)+1/2
The procedure for obtaining the PWM signal with this duty ratio .eta. (corresponding to a portion denoted by reference numeral 3 and encircled by a dotted line in FIG. 7(a)) is executed by ordinary processors. The PWM signal with this duty ratio .eta. is inputted into the gates (G1 to G4 of FIG. 6) of respective transistors in the electric power conversion circuit 2.
Then, 1/2 is subtracted from the output .eta. of the electric power control section 3, and the result is multiplied by a value of an element 10 to obtain a voltage V to be actually supplied to a motor. A half value of the element 10, i.e., Vlink2 of FIG. 7(a), is an actual main voltage Vlink outputted from the rectification circuit 1 of FIG. 6. When the actual main voltage Vlink remains constant regardless of time, and the value Vlink1 equivalent to the predetermined main voltage is equal to the value Vlink in the current control section 3 (i.e. element 32), or where Vlink=Vlink1=Vlink2, the voltage V to be applied to the motor is expressed as follows: ##EQU1##
Thus, the command voltage Vcmd (=(Icmd-i).multidot.K) is applied to the motor to drive it.
An element 11 represents a model of a DC motor, wherein R denotes a resistance of exciting coil and L, an inductance of the same.
The case where the AC motor such as the induction motor or synchronous motor is used differs from the case where the DC motor is used as is shown in FIG. 7(a) only in that the current command Icmd becomes the current command of each phase; the actual current i becomes the actual phase current of the corresponding phase; and the R and L of the element 11 become the resistance and inductance of the exciting coil of each phase respectively.
On the other hand, in the case of variable reluctance motors (VR motors), the method of obtaining the duty ratio .eta. and the conversion method for converting this duty ratio .eta. into the voltage V to be actually applied to the motor vary respectively depending on whether Vcmd.gtoreq.0 as shown in FIG. 7(b) or Vcmd&lt;0 as shown in FIG. 7(c). In this case, the coils of the stator of the VR motor are referred to as A-phase winding, B-phase winding and C-phase winding, - - - .
When the command voltage Vcmd of the A-phase winding is zero or positive (Vcmd.gtoreq.0), the transistor G1 turns on, and the transistor G2 is switched (or the transistor G1 is switched, and the transistor G2 is turned on) as shown in FIG. 2. When both the transistors G1 and G2 are turned on, a voltage of Vlink2 is applied to the A-phase winding. When the transistor G1 is turned on, and the transistor G2 is turned off, the voltage applied to the A-phase coil becomes 0. Accordingly, if the duty ratio of switching of the transistor G2 is set to .eta.A, an average voltage V applied to the A-phase winding is expressed as follows: EQU V=Vlink2.times..eta.A
Since it is required to satisfy the relationships of .eta.A=0 when Vcmd=0, and .eta.A=1 when Vcmd=-Vlink1, it is defined that .eta.A=Vcmd/Vlink1.
On the other hand, when the command voltage Vcmd of the A-phase winding is negative (Vcmd&lt;0), the transistor G1 is turned off, and the transistor G2 is switched (or the transistor G1 is switched, and the transistor G2 is turned off) in FIG. 2. When both the transistors G1 and G2 are turned off, a voltage of -Vlink2 is applied to the A-phase winding. When the transistor G1 is turned off, and the transistor G2 is turned on, the voltage applied to the A-phase winding becomes 0. Accordingly, an average voltage V applied to the A-phase winding is expressed as follows: EQU V=(1-.eta.A)(-Vlink2)
Hence, to satisfy the relationship of .eta.A=1 when Vcmd=0, and .eta.A=0 when Vcmd=-Vlink1, it is defined that .eta.A=(Vcmd/Vlink)+1.
FIG. 8 shows the response of current when the current command Icmd is varied stepwise. The proportional gain K of the current loop control in the above-described current control section 2 is determined so as to satisfy the specification that the overshoot of current can be suppressed within a range of 0 to 10% as shown by a solid line in FIG. 8.
If the actual main voltage Vlink, an output of the rectification circuit 1, is constant without variation, and this constant voltage is set in the current control section 2 as the main voltage equivalent value Vlink1, the voltage V applied to the motor becomes the command voltage Vcmd, as described above, and enables the motor to satisfy the required specification with current characteristics shown by the solid line of FIG. 8. However, the actual main voltage Vlink varies due to variation of three phases, that is, R-, S- and T-, phases of AC voltage or regenerative voltage.
For example, when the proportional gain K is determined in a manner such that the actual current shows the stepwise response as is shown by the solid line in FIG. 8, if the actual main voltage Vlink=Vlink2 is lowered (i.e. becomes smaller than the predetermined main voltage equivalent value Vlink1), the voltage applied to the motor becomes lower than the command voltage Vcmd. As a result, as shown by a dotted line in FIG. 8, the step response, as well as the responses of speed and position, are delayed, adversely affecting the controllability.
On the contrary, when the actual main voltage Vlink=Vlink2 is increased (Vlink2&gt;Vlink1), the voltage V applied to the motor becomes higher than the command voltage Vcmd. As a result, as shown by single-dot-and dash line, the current flowing through the motor exceeds the current command Icmd largely, thereby causing vibration of motor or a phenomenon that an excessive current alarm is actuated to forcibly stop the motor.